/*
 * 某些功能的命令行格式解析，需要区别于不同的操作系统
*/
#ifndef RESLUTION_H
#define RESLUTION_H

#include <QObject>
#include "mytypes.h"



namespace Yzty{
    class Reslution : public QObject
    {
        Q_OBJECT
        public:
            static Reslution* GetInstance(QObject* parent=nullptr);
            virtual ~Reslution();

            static QStringList GetFromString(const QString& cmd);   //将命令行中的字段按行分割返回
            static void ExecuteCmd(const QString& cmd);

            //Security
            QVector<BaceInfor*> GetSysShareDirInforFromCmd();           //系统共享安全

            QVector<BaceInfor*> GetNetLoginInforFromCmd();              //系远程登陆检查

            QVector<BaceInfor*> GetSysUpdateInforFromCmd();             //系统升级文件

            QVector<BaceInfor*> GetNetPortInforFromCmd();               //系统开放端口

            QVector<BaceInfor*> GetAccountSecInforFromCmd();            //账户安全配置

            QVector<BaceInfor*> GetPwdConfigInforFromCmd();             //密码策略配置

            QVector<BaceInfor*> GetNetConfigFromCmd();                  //网络安全配置

            QVector<BaceInfor*> GetSecAuditInforFromCmd();              //安全审计配置

            QVector<BaceInfor*> GetSudoConfigInforFromCmd();            //sudo策略配置

            QVector<BaceInfor*> GetNetFireWallInforFromCmd();           //防火墙配置

            QVector<BaceInfor*> GetSysProcessInforFromCmd();            //系统进程信息

            QVector<BaceInfor*> GetSysServerInforFromCmd();             //系统服务信息

            QVector<BaceInfor*> GetSysKernelInforFromCmd();             //系统加载内核

            QVector<BaceInfor*> GetEmailInforFromCmd();                 //邮件客户端

            QVector<BaceInfor*> GetVirMachineFromCmd();                 //虚拟机安装

            QVector<BaceInfor*> GetDefendSoftFromCmd();                 //杀毒软件防护

            QVector<BaceInfor*> GetUserLoginInforFromCmd();             //远程

            QVector<BaceInfor*> GetBroHistoryInforFromCmd();           //浏览器历史记录

            QVector<BaceInfor*> GetBroDownloadInforFromCmd();          //下载记录信息

            QVector<BaceInfor*> GetBroCollectInforFromCmd();           //收藏夹

            QVector<BaceInfor*> GetBroCookiesInforFromCmd();            //获取cookies

            QVector<BaceInfor*> GetSoftListFromCmd();                   //获取软件安装列表

        private:
            explicit Reslution(QObject *parent = nullptr);
            static Reslution* _instance;

        signals:

        public slots:
    };
};

#endif // RESLUTION_H
